/* $Id$ */ /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.manifoldcf.crawler.connectors.alfresco.tests; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.plus.jndi.Resource; import org.junit.After; import org.junit.Before; /** Tests that run the "agents daemon" should be derived from this * * @author Piergiorgio Lucidi * * */ public class BaseITHSQLDB extends org.apache.manifoldcf.crawler.tests.BaseITHSQLDB { protected Server alfrescoServer = null; protected String[] getConnectorNames() { return new String[]{"Alfresco"}; } protected String[] getConnectorClasses() { return new String[]{"org.apache.manifoldcf.crawler.connectors.alfresco.AlfrescoRepositoryConnector"}; } protected String[] getOutputNames() { return new String[]{"Null Output"}; } protected String[] getOutputClasses() { return new String[]{"org.apache.manifoldcf.agents.tests.TestingOutputConnector"}; } // Setup/teardown @Before public void setUpAlfresco() throws Exception { alfrescoServer = new Server(9090); alfrescoServer.setStopAtShutdown(true); String alfrescoServerWarPath = "../../connectors/alfresco/alfresco-war/alfresco.war"; if (System.getProperty("alfrescoServerWarPath") != null) alfrescoServerWarPath = System.getProperty("alfrescoServerWarPath"); //Initialize Alfresco Server bindings ContextHandlerCollection contexts = new ContextHandlerCollection(); alfrescoServer.setHandler(contexts); WebAppContext alfrescoServerApi = new WebAppContext(alfrescoServerWarPath,"/alfresco"); alfrescoServerApi.setParentLoaderPriority(false); HashLoginService dummyLoginService = new HashLoginService("TEST-SECURITY-REALM"); alfrescoServerApi.getSecurityHandler().setLoginService(dummyLoginService); contexts.addHandler(alfrescoServerApi); Class h2DataSource = Thread.currentThread().getContextClassLoader().loadClass("org.h2.jdbcx.JdbcDataSource"); Object o = h2DataSource.newInstance(); String jdbcUrl = "jdbc:h2:.alf_data_jetty/h2_data/alf_jetty"; String jdbcUsername = "alfresco"; String jdbcPassword = "alfresco"; String jdbcJndiName = "jdbc/dataSource"; h2DataSource.getMethod("setURL", new Class[] {String.class}).invoke(o, new Object[] {jdbcUrl}); h2DataSource.getMethod("setUser", new Class[] {String.class}).invoke(o, new Object[] {jdbcUsername}); h2DataSource.getMethod("setPassword", new Class[] {String.class}).invoke(o, new Object[] {jdbcPassword}); Resource jdbcResource = new Resource(jdbcJndiName, o); alfrescoServer.start(); boolean entered = false; while(alfrescoServer.isStarted() && alfrescoServerApi.isStarted() && !entered){ entered = true; Thread.sleep(5000); } } @After public void cleanUpAlfresco() throws Exception { } }